package FileCopy;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class FileCopy {
	public static void main(String[] args) throws FileNotFoundException {
		// 原目标文件路径
		String fromFileName = "E:\\file\\123.txt";
		// copy后的地址
		String toFileName = "E:\\copy\\123.txt";
		// copy
		FileCopy.copyFile(fromFileName, toFileName);
	}
	
	// 将原文件copy到目标文件中，如果原文件不存在，就抛出FileException异常
	public static void copyFile(String fromFileName, String toFileName) throws FileNotFoundException {
		// 创建一个字节输入流，用于读取目标文件
		InputStream in = new FileInputStream(fromFileName);
		// 创建一个字节输出流，用于将读取的数据写入
		OutputStream out = new FileOutputStream(toFileName);
		// 字节数组作为缓冲区
		byte[] buff = new byte[1024];
		int len;
		// read(buff) 将读到的字节一次性写入文件
		try {
			while((len = in.read(buff)) != -1) { //文件末尾
				out.write(buff, 0, len); // 从第一个字节开始，向文件中写len个字节
			}
		}catch(IOException e) {
				e.printStackTrace();
		}
		System.out.println("文件copy成功");
		try {
			in.close();
			out.close();
		}catch(IOException e) {
			e.printStackTrace();
		}
	}
}
